module_args_list_element
The module_args for this module accept a list of multiple entries. This represents
one of the entries, which define which transfers can be accepted to allow users to register
new accounts. This is called a transfer registration rule, and when parsed will be
represented by the struct rule.
A transfer must satisfy all the requirements of a single rule to be accepted.
See Also
- [rule] — for a parsed representation of rules.
struct module_args_list_element {The blockchain RID for a sender blockchain that can start an account registration. It can be in either of these formats:
CURRENT_CHAIN_REF, meaning only on-chain transfers are allowed for this rule.- x"01ab...23", meaning cross-chain transfers from this blockchain RID are allowed.
ANY_REF, meaning all on-chain and cross-chain transfers are allowed.- a list of values, containing blockchain RIDs in the format at point 2, and optionally the value at point 1, meaning all values in the list are allowed.
See Also
- [CURRENT_CHAIN_REF] — for the actual string value of the constant
- [ANY_REF] — for the actual string value of the constant
sender_blockchain: gtv;The account ID for a sender account that can start an account registration. It can be in either of these formats:
- x"01ab...23", meaning this specific account can register new accounts when transferring. Useful for example if this account is a CEX wallet people will get on the chain with.
ANY_REF, meaning all accounts can register new accounts.CURRENT_ACCOUNT_REF, meaning the only transfers allowed for this rule are the ones where a certain account from a different chain registers an account with the same ID on this chain. This value will only be accepted ifrecipienthas the same value, and it will not work (despite not throwing any errors) if thesender_blockchainfield does not allow cross-chain transfers.- a list of values, containing account IDs in the format at point 1, meaning all the account IDs in the list are allowed.
See Also
- [CURRENT_ACCOUNT_REF] — for the actual string value of the constant
- [ANY_REF] — for the actual string value of the constant
sender: gtv;The account ID for a sender account that can start an account registration. It can be in either of these formats:
- x"01ab...23", meaning this specific account can be registered when receiving a transfer.
ANY_REF, meaning all accounts can be registered.CURRENT_ACCOUNT_REF, meaning the only transfers allowed for this rule are the ones where a certain account from a different chain registers an account with the same ID on this chain. This value will only be accepted ifsenderhas the same value, and it will not work (despite not throwing any errors) if thesender_blockchainfield does not allow cross-chain transfers.- a list of values, containing account IDs in the format at point 1, meaning all the account IDs in the list can be created.
See Also
- [CURRENT_ACCOUNT_REF] — for the actual string value of the constant
- [ANY_REF] — for the actual string value of the constant
recipient: gtv;What assets can be transferred to create a new account. They can be in either of these formats:
- one
asset_limit - a list of
asset_limits ANY_REF, meaning all assets can be used
See Also
- [ANY_REF] — for the actual string value of the constant
- [asset_limit] — for what this field can contain
asset: gtv;How many days can elapse between the transfer and the registration of the account.
Since it can happen that the user transferring the asset is not the user creating the
account, it can also happen that the transfer and creation cannot happen in the same
transaction, or even in the same day.
If the second user never registers the account, the first one will have lost the assets
that were transferred. After timeout_days has passed, the second user will be unable
to register the account without receiving an additional transfer, and the first user
will be able to reclaim the assets.
timeout_days: integer;The transfer module does not define how the account can be registered, merely providing
a framework. The strategies found in submodules of this transfer module will be able
to use this rule if their name is specified in this field.
It can be:
- a string value, containing the name of the strategy that can use this rule
- a list of strings, containing multiple allowed strategies for the same rule
strategy: gtv;}